package chapter02

import (
	"fmt"
	"net/http"
	"strconv"
	"time"

	"github.com/gin-gonic/gin"
)

// 单文件上传
func ToUpload1(ctx *gin.Context) {

	ctx.HTML(http.StatusOK, "chapter02/test_upload1.html", nil)
}

func DoUpload1(ctx *gin.Context) {
	// 接收文件
	file, _ := ctx.FormFile("file")
	fmt.Println(file.Filename)
	// 保存文件
	time_unix_str := time.Now().Unix() // 获得int类型时间cuo，防止多次提交覆盖
	time_unix_str1 := strconv.FormatInt(time_unix_str, 10)
	dst := "upload/" + time_unix_str1 + file.Filename // 路径
	ctx.SaveUploadedFile(file, dst)
	ctx.String(http.StatusOK, "上传ok")
}

// 多文件上传
func ToUpload2(ctx *gin.Context) {

	ctx.HTML(http.StatusOK, "chapter02/test_upload2.html", nil)
}

func DoUpload2(ctx *gin.Context) {
	// 接收文件
	form, _ := ctx.MultipartForm()
	files := form.File["file"]

	for _, file := range files {
		// fmt.Println(file.Filename)
		time_unix_str := time.Now().Unix() // 获得int类型时间cuo，防止多次提交覆盖
		time_unix_str1 := strconv.FormatInt(time_unix_str, 10)
		dst := "upload/" + time_unix_str1 + file.Filename // 路径
		ctx.SaveUploadedFile(file, dst)
	}
	ctx.String(http.StatusOK, "上传ok")
}

// ajax单文件
func ToUploadFile3(ctx *gin.Context) {
	ctx.HTML(http.StatusOK, "chapter02/test_upload3.html", nil)
}

func DoUploadFile3(ctx *gin.Context) {
	// 接收文件
	name := ctx.PostForm("name")
	fmt.Println(name)
	file, _ := ctx.FormFile("file")
	// fmt.Println(file.Filename)
	// 保存文件
	time_unix_str := time.Now().Unix() // 获得int类型时间cuo，防止多次提交覆盖
	time_unix_str1 := strconv.FormatInt(time_unix_str, 10)
	dst := "upload/" + time_unix_str1 + file.Filename // 路径
	ctx.SaveUploadedFile(file, dst)
	ctx.String(http.StatusOK, "上传ok")
}

// ajax多文件
